// 这个模块对api接口进行统一管理
import request from './request'
import mockRequet from './mockAjax'

// 三级联动的接口
/* 
    path: /api/product/getBaseCategoryList
    method: get
    data: null
*/
export const reqCategoryList = () =>
    // 发请求：axios请求返回对象是promise
    request({
        url: '/product/getBaseCategoryList',
        method: 'GET',
    });

// 获取首页轮播图数据
export const reqGetBanner = () =>
    mockRequet.get('/banner')

// 获取推荐好物数据
export const reqFloorList = () =>
    mockRequet.get('/floor')

// 获取搜索模块数据
/* 
    path:"/api/list"
    请求方式：post
    参数：
        category1Id 一级分类id
        category2Id 二级分类id
        category3Id 三级分类id
        categoryName    分类名称
        keyword 搜索关键字
        order  排序方式 
        pageNo  页码
        pageSize    每页数量
        props   商品属性的数组
        trademark   品牌名称
*/
// 这个函数需要接受外部传递的参数
// 当前这个接口，给服务器传递的数据【至少】是一个空对象
export const reqGetSearchInfo = (params) =>
    request({
        url: '/list',
        method: "POST",
        data: params
    })

// 获取商品详情信息
/* 
    URL:api/item/{skuid}
    请求方式：get
    参数：产品id(必带)
*/
export const reqGetDetailInfo = (skuId) =>
    request({
        url: `/item/${skuId}`,
        method: 'GET'
    })

// 将产品**添加**到购物车或者**更新**某一个产品的个数
/* 
    url：api/cart/addToCart/{skuId}/{num}
    请求方式：POST
*/
export const reqAddOrUpdateShopCart = (skuId, num) =>
    request({
        url: `/cart/addToCart/${skuId}/${num}`,
        method: 'POST',
    })

// 获取购物车的数据接口
/* 
    url:/api/cart/cartList
    请求方式:GET
*/
export const reqShopCart = () =>
    request({
        url: '/cart/cartList',
        methods: 'GET'
    })

// 删除购物车商品的接口
/* 
    url:/api/cart/deleteCart/{skuId}
    请求方式:DELETE
*/
export const delShopCartItem = (skuId) =>
    request({
        url: `/cart/deleteCart/${skuId}`,
        method: 'DELETE'
    })

// 修改商品选中状态的接口也
/* 
    url:/api/cart/checkCart/{skuId}/{isChecked}
    请求方式:GET
*/
export const changeChecked = (skuId, isChecked) =>
    request({
        url: `/cart/checkCart/${skuId}/${isChecked}`,
        method: "GET"
    })

// 根据手机号获取验证码的接口
/* 
    url:'api/user/passport/sendCode/{phone}
    请求方式:GET
*/
export const reqCodeByPhone = (phoneNumber) =>
    request({
        url: `/user/passport/sendCode/${phoneNumber}`,
        method: 'GET'
    })

// 注册用户接口
/* 
    url:api/user/passport/register
    请求方式:POST
    请求体:{
        phone,
        code,
        password,
    }
*/
export const userRegister = (data) =>
    request({
        url: '/user/passport/register',
        method: 'POST',
        data
    })

// 登录接口
/* 
    url:'api/user/passport/login 
    method:post 
    data:phone password
*/
export const userLogin = (data) =>
    request({
        url: '/user/passport/login',
        method: 'POST',
        data
    })

// 根据token获取用户信息
/* 
    url:'api/user/passport/auth/getUserInfo',
    method:'GET',
*/
export const reqUserInfo = () =>
    request({
        url: '/user/passport/auth/getUserInfo',
        method: 'GET',
    })

// 退出登录
/* 
    url :api/user/passport/logout
    method:GET
*/
export const reqLogOut = () =>
    request({
        url: '/user/passport/logout',
        method: 'GET',
    })

// 获取交易页面地址数据
/* 
    url:'api/user/userAddress/auth/findUserAddressList'
*/
export const reqAddressInfo = () =>
    request({
        url: '/user/userAddress/auth/findUserAddressList',
        method: 'GET',
    })

// 获取交易页面商品信息
/* 
    url:'/order/auth/trade'
    method:'GET'
*/
export const reqOrderInfo = () =>
    request({
        url: '/order/auth/trade',
        method: 'GET',
    })

// 提交订单
/* 
    url:'order/auth/sunmitOrder'
    请求方式:post
*/
export const reqSubmitOrder = (tradeNo, data) =>
    request({
        url: `/order/auth/submitOrder?tradeNo=${tradeNo}`,
        method: 'POST',
        data
    })

// 获取订单支付信息
export const reqPayInfo = (orderId) =>
    request({
        url: `/payment/weixin/createNative/${orderId}`,
        method: 'GET'
    })

// 查询订单支付状态
/* 
    url:'payment/weixin/queryStatus/${orderId}`
*/
export const reqIsPayed = (orderId) =>
    request({
        url: `/payment/weixin/queryPayStatus/${orderId}`,
        method: 'GET'
    })

// 查询个人中心订单
/* 
    url:/api/order/auth/{page}/{limit}
    请求方式:GET
*/
export const reqMyCenterOrder = (page, limit) =>
    request({
        method: 'GET',
        url: `/order/auth/${page}/${limit}`
    })